1. Field of the Invention
The present invention relates to a method of computing the degree of membership of a fuzzy variable relative to a membership function thereof.
Specifically, the invention relates to a method of computing the value of the degree of membership of a fuzzy variable defined within a universe of discourse that is discreted into a finite number of points relative to a membership function thereof, wherein the membership function is quantified into a finite number of levels corresponding to a finite number of degrees of truth and is stored by way of a characteristic value of each subset of fuzzy variable values being all mirrored in one value of said degree of membership corresponding to one of said levels.
The invention also relates to a calculator circuit for carrying into effect the inventive method.
2. Description of the Related Art
As is well known, a membership function (hereinafter also designated MF) is a single-variable function, and accordingly, can be expressed by a two-dimensional graph.
In particular, a membership function MF represents the degree of membership, MF(x), of a fuzzy variable x, and can be described by a graph where the fuzzy variable x is plotted along one axis and its degree of membership, hereinafter designated α, is plotted along the other axis.
Encoding the membership function MF has been an object of investigation because it uses up a large amount of memory area, for instance when the membership functions MF are to be stored into a calculator structure.
Especially with a digital calculator structure, a much-needed simplification consists in the first place of discreting the membership functions MF for integer values of the fuzzy variable x within the so-called universe of discourse (U.d.D.).
In particular, each membership function MF is defined at 0 to 2n−1 levels, i.e., discreted into n bits.
Several techniques are known for storing membership functions MF.
A first conventional method uses a table for storing the value of the membership function MF point by point, meaning that a degree α of membership, corresponding to each discreted value of the fuzzy variable x, is stored.
This method has a major advantage in that membership functions MF of any forms can be stored, and another advantage in that the degrees α of truth can be extracted from a given fuzzy variable x at a fast rate.
It has, however, a serious disadvantage in that the punctual storing of all the membership functions MF involved claims a large amount of memory area.
Also known is to reduce the representable set of membership functions MF to a subset containing only certain geometric figures, and under this constraint, to use parameters for storing the membership functions MF. In particular, the degree α of membership of a membership function MF can be computed from these parameters as a function of the fuzzy variable x, and much memory area be saved.
This is accompanied, though, by a drastic reduction in the membership functions MF that can be represented accurately, i.e., easily led back to the admitted subset of geometric figures.
One such method of membership function encoding and storing is disclosed, for instance, in U.S. Pat. No. 5,875,438, granted on Feb. 23, 1999.
In addition, solutions of this kind require the provision of complicated hardware for computing the degree α of membership from a given fuzzy variable x, and long computation times for computing the degrees α of truth.
Known is also a method of encoding and storing membership functions MF, wherein the values of the degree α of membership of a membership function MF are stored in a table whose address is indicative of the degree α of membership. Stored in this table for each address value is a maximum, tantamount minimum value in a subset of membership degree values representing all the fuzzy variable values that are mirrored by the same value of the degree α of membership.
This membership function encoding and storing method forms the subject matter of a co-pending European patent application by this Applicant.
The membership function MF is split into a first or non-decreasing monotone part and a second or non-increasing monotone part, as shown schematically in FIG. 1. In addition, the membership function MF is quantified into a series of subsets that correspond graphically to horizontal segments, each having the same value α corresponding to said subset of values for the fuzzy variable x.
Starting with the non-decreasing monotone part, i.e., from point 0, those subsets of values which give the value α for a result are created for the universe of discourse, and their minima considered.
Let it be, for the first or non-decreasing monotone part:
x0 the minimum value in the set of values of the fuzzy variable, x[x ,x1[, whereby α=0;
x1 the minimum value in the set of values of x[x1,x2[ whereby α=1;
and so on to xk, being the minimum value in the set of values of x[xk,x(k+1)[ whereby α=k, i.e., the highest degree of membership max;
and for the second or non-increasing monotone part:
x(k+1) the minimum value in the set of values of the fuzzy variable, X[X(k+1),X(k+2)[ whereby α=(k−1);
X(k+2) the minimum value in the set of values of x[x(k+1),x(k+2)[ whereby α=(k−2);
and so on to x2k, being the minimum value in the set of values of x[x(2k),max] whereby α=(k−k)=0, i.e., the lowest degree of membership.
The first value x0 is known beforehand from that it coincides with the lowest value in the universe of discourse U.d.D., usually equal 0.
In this way, the universe of discourse is split into a number of contiguous ranges ([xi,x(i+1)[), each having a single value of the degree of membership, MF(x1)=αi, where xi is the lowest value of the fuzzy variable x within that range, associated therewith.
The membership function MF can now be encoded and stored into a membership function storage memory MMF, with x0 being stored at address 0, x1 at address 1, and so on to xk, which is stored at address k.
In a similar manner, x(k+1) is stored at address k+1, x(k+2) stored at address k+2, and so on to X2k, which is stored at address 2k, as shown schematically in FIG. 2.
Notice that the values x0 x1 x2, . . . , x(2k−1), X2k are not continuous values, but rather discrete values included between 0 and the highest value max in the universe of discourse U.d.D. For example, with values of the degree of membership within the range of 0 to 3 and values of the universe of discourse U.d.D. within the range of 0 to 16, the following values are obtained:x0=0, x1=4, x2=5, x3=8, x4=10, x5=13 and x6=15.
The aforementioned patent application also discloses a method of computing the degree α of membership that corresponds to the degree of membership of the value xing of said fuzzy input variable, which method comprises reading sequentially from the memory MMF until a characteristic value xm, contained in the memory MMF, is found whereby the first values are higher than or equal to the value of a fuzzy input variable xing, the location of the value xm in the memory MMF being correlated with the value of the degree α of membership sought.
In particular, the computation time of the corresponding calculator circuit described in that European patent application is a multiple of the clock frequency of the internal counter of the calculator circuit. Thus, assuming the highest degree of membership to be k=(2n−1), computing the degree of membership for a given value of the fuzzy input variable xing will require a time equal to 2k+1 clock beats, i.e., the time needed for the counter output signal to reach that maximum value.
In other words, the time for computing the degree of membership of a fuzzy input variable xing is directly proportional to the degree of membership, meaning that the more the bits needed to represent that degree of membership, the more will be the memory words needed to store the membership functions MF and the longer the time taken to compute the degree α of membership tied to the fuzzy input variable xing.
The size of the memory MMF storing the membership functions MF will be dictated by the universe of discourse U.d.D. and the magnitude of the highest degree of membership. Mathematically, assuming the universe of discourse U.d.D. to be represented by n bits and a degree of membership by p bits, with k=2P−1, the membership function storing table will have (2k+1) rows of n bits each.
With the calculator circuit described in the aforementioned European patent application, whereby the largest of the ranges is stored, the membership function storing table is read serially. In particular, the counter in the calculator circuit will keep generating read addresses to the table until a stored value xm equal to or higher than the value of the fuzzy input variable xing is read, the location of this value in the table being correlated with the value of the degree α of membership sought.
In particular, the degree α of membership is computed from the address ADD according to the following relations:α=ADD if ADD≦2p−1, andα=ADD−2p+1 if ADD>2p−1.
The computation time, therefore, amounts to (2k+1) read accesses to the memory MMF for the membership functions MF, with k=2p−1.
The underlying technical problem of this invention is to provide an optimized method of computing the value of the degree MF(x) of membership of a fuzzy variable by way of its membership function MF, wherein the computation time is reduced and the limitations of the computing method according to the prior art are overcome.